powerstep2 2.2.1
Loading...
Searching...
No Matches
Power Step 2 Click Driver

API for configuring and manipulating Power Step 2 Click driver. More...

Topics

 Power Step 2 Registers List
 List of registers of Power Step 2 Click driver.
 Power Step 2 Registers Settings
 Settings for registers of Power Step 2 Click driver.
 Power Step 2 MikroBUS Map
 MikroBUS pin mapping of Power Step 2 Click driver.

Functions

void powerstep2_cfg_setup (powerstep2_cfg_t *cfg)
 Power Step 2 configuration object setup function.
err_t powerstep2_init (powerstep2_t *ctx, powerstep2_cfg_t *cfg)
 Power Step 2 initialization function.
err_t powerstep2_default_cfg (powerstep2_t *ctx)
 Power Step 2 default configuration function.
err_t powerstep2_spi_transfer (powerstep2_t *ctx, uint8_t *data_io, uint8_t len)
 Power Step 2 SPI transfer function.
void powerstep2_set_rst_pin (powerstep2_t *ctx, uint8_t state)
 Power Step 2 set rst pin function.
void powerstep2_set_step_pin (powerstep2_t *ctx, uint8_t state)
 Power Step 2 set step pin function.
uint8_t powerstep2_get_busy_pin (powerstep2_t *ctx)
 Power Step 2 get busy pin function.
uint8_t powerstep2_get_flag_pin (powerstep2_t *ctx)
 Power Step 2 get flag pin function.
void powerstep2_hw_reset_device (powerstep2_t *ctx)
 Power Step 2 reset device function.
err_t powerstep2_set_param (powerstep2_t *ctx, uint8_t param, uint32_t data_in)
 Power Step 2 set parameter function.
err_t powerstep2_get_param (powerstep2_t *ctx, uint8_t param, uint32_t *data_out)
 Power Step 2 get parameter function.
err_t powerstep2_run (powerstep2_t *ctx, uint8_t dir, uint32_t speed)
 Power Step 2 run motor function.
err_t powerstep2_step_clock (powerstep2_t *ctx, uint8_t dir)
 Power Step 2 step clock function.
err_t powerstep2_move (powerstep2_t *ctx, uint8_t dir, uint32_t n_step)
 Power Step 2 move motor function.
err_t powerstep2_go_to (powerstep2_t *ctx, uint32_t abs_pos)
 Power Step 2 go to position function.
err_t powerstep2_go_to_dir (powerstep2_t *ctx, uint8_t dir, uint32_t abs_pos)
 Power Step 2 go to position with direction function.
err_t powerstep2_go_until (powerstep2_t *ctx, uint8_t act, uint8_t dir, uint32_t speed)
 Power Step 2 go until function.
err_t powerstep2_release_sw (powerstep2_t *ctx, uint8_t act, uint8_t dir)
 Power Step 2 release switch function.
err_t powerstep2_go_home (powerstep2_t *ctx)
 Power Step 2 go home function.
err_t powerstep2_go_mark (powerstep2_t *ctx)
 Power Step 2 go mark function.
err_t powerstep2_reset_pos (powerstep2_t *ctx)
 Power Step 2 reset position function.
err_t powerstep2_reset_device (powerstep2_t *ctx)
 Power Step 2 reset device function.
err_t powerstep2_soft_stop (powerstep2_t *ctx)
 Power Step 2 soft stop function.
err_t powerstep2_hard_stop (powerstep2_t *ctx)
 Power Step 2 hard stop function.
err_t powerstep2_soft_hiz (powerstep2_t *ctx)
 Power Step 2 soft HiZ function.
err_t powerstep2_hard_hiz (powerstep2_t *ctx)
 Power Step 2 hard HiZ function.
err_t powerstep2_get_status (powerstep2_t *ctx, uint16_t *status)
 Power Step 2 get status function.
err_t powerstep2_clear_status (powerstep2_t *ctx)
 Power Step 2 clear status function.
err_t powerstep2_set_control_mode (powerstep2_t *ctx, uint8_t ctrl_mode)
 Power Step 2 set control mode function.
err_t powerstep2_set_step_mode (powerstep2_t *ctx, uint8_t step_mode)
 Power Step 2 set step mode function.
err_t powerstep2_set_acc_dec (powerstep2_t *ctx, float acc_step_s2, float dec_step_s2)
 Power Step 2 set acceleration and deceleration function.
err_t powerstep2_set_speed (powerstep2_t *ctx, float min_speed, float max_speed)
 Power Step 2 set speed function.
void powerstep2_drive_motor (powerstep2_t *ctx, uint32_t steps, uint8_t speed)
 Power Step 2 drive motor function.

Detailed Description

API for configuring and manipulating Power Step 2 Click driver.

Any initialization code needed for MCU to function properly. Do not remove this line or clock might not be set correctly.

Function Documentation

◆ powerstep2_cfg_setup()

void powerstep2_cfg_setup ( powerstep2_cfg_t * cfg)

Power Step 2 configuration object setup function.

This function initializes Click configuration structure to initial values.

Parameters
[out]cfg: Click configuration structure. See powerstep2_cfg_t object definition for detailed explanation.
Returns
Nothing.
Note
The all used pins will be set to unconnected state.

◆ powerstep2_clear_status()

err_t powerstep2_clear_status ( powerstep2_t * ctx)

Power Step 2 clear status function.

This function clears the status register by reading it.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
Returns
  • 0 - Success,
  • -1 - Error.

◆ powerstep2_default_cfg()

err_t powerstep2_default_cfg ( powerstep2_t * ctx)

Power Step 2 default configuration function.

This function executes a default configuration of Power Step 2 Click board.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
Returns
  • 0 - Success,
  • -1 - Error. See #err_t definition for detailed explanation.
Note
This function can consist any necessary configuration or setting to put device into operating mode.

◆ powerstep2_drive_motor()

void powerstep2_drive_motor ( powerstep2_t * ctx,
uint32_t steps,
uint8_t speed )

Power Step 2 drive motor function.

This function drives the motor in step-clock mode for a specified number of steps at a given speed.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
[in]steps: Number of steps to move.
[in]speed: Speed of the motor movement.
  • 0 - Very slow,
  • 1 - Slow,
  • 2 - Medium,
  • 3 - Fast,
  • 4 - Very fast.
Returns
None.

◆ powerstep2_get_busy_pin()

uint8_t powerstep2_get_busy_pin ( powerstep2_t * ctx)

Power Step 2 get busy pin function.

This function returns the BUSY pin logic state.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
Returns
Pin logic state.
Note
None.

◆ powerstep2_get_flag_pin()

uint8_t powerstep2_get_flag_pin ( powerstep2_t * ctx)

Power Step 2 get flag pin function.

This function returns the FLAG pin logic state.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
Returns
Pin logic state.
Note
None.

◆ powerstep2_get_param()

err_t powerstep2_get_param ( powerstep2_t * ctx,
uint8_t param,
uint32_t * data_out )

Power Step 2 get parameter function.

This function retrieves the value of a specific parameter register from the Power Step 2 device.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
[in]param: Parameter register to read.
[out]data_out: Pointer to store the retrieved parameter value.
Returns
  • 0 - Success,
  • -1 - Error.

◆ powerstep2_get_status()

err_t powerstep2_get_status ( powerstep2_t * ctx,
uint16_t * status )

Power Step 2 get status function.

This function retrieves the status register of the Power Step 2 device.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
[out]status: Pointer to store the status register value.
Returns
  • 0 - Success,
  • -1 - Error.

◆ powerstep2_go_home()

err_t powerstep2_go_home ( powerstep2_t * ctx)

Power Step 2 go home function.

This function moves the motor to its home position.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
Returns
  • 0 - Success,
  • -1 - Error.

◆ powerstep2_go_mark()

err_t powerstep2_go_mark ( powerstep2_t * ctx)

Power Step 2 go mark function.

This function moves the motor to a marked position.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
Returns
  • 0 - Success,
  • -1 - Error.

◆ powerstep2_go_to()

err_t powerstep2_go_to ( powerstep2_t * ctx,
uint32_t abs_pos )

Power Step 2 go to position function.

This function moves the motor to an absolute position.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
[in]abs_pos: Absolute position to move to (22-bit value).
Returns
  • 0 - Success,
  • -1 - Error.

◆ powerstep2_go_to_dir()

err_t powerstep2_go_to_dir ( powerstep2_t * ctx,
uint8_t dir,
uint32_t abs_pos )

Power Step 2 go to position with direction function.

This function moves the motor to an absolute position in a specified direction.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
[in]dir: Direction of movement.
[in]abs_pos: Absolute position to move to (22-bit value).
Returns
  • 0 - Success,
  • -1 - Error.

◆ powerstep2_go_until()

err_t powerstep2_go_until ( powerstep2_t * ctx,
uint8_t act,
uint8_t dir,
uint32_t speed )

Power Step 2 go until function.

This function moves the motor until SW is closed.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
[in]act: If 1, copies ABS_POS to MARK, else, reset ABS_POS.
[in]dir: Direction of movement.
[in]speed: Speed of movement (20-bit value).
Returns
  • 0 - Success,
  • -1 - Error.

◆ powerstep2_hard_hiz()

err_t powerstep2_hard_hiz ( powerstep2_t * ctx)

Power Step 2 hard HiZ function.

This function sets the device to high-impedance mode abruptly.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
Returns
  • 0 - Success,
  • -1 - Error.

◆ powerstep2_hard_stop()

err_t powerstep2_hard_stop ( powerstep2_t * ctx)

Power Step 2 hard stop function.

This function stops the motor immediately using a hard stop.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
Returns
  • 0 - Success,
  • -1 - Error.

◆ powerstep2_hw_reset_device()

void powerstep2_hw_reset_device ( powerstep2_t * ctx)

Power Step 2 reset device function.

This function resets the device by toggling the RST pin.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
Returns
None.
Note
None.

◆ powerstep2_init()

err_t powerstep2_init ( powerstep2_t * ctx,
powerstep2_cfg_t * cfg )

Power Step 2 initialization function.

This function initializes all necessary pins and peripherals used for this Click board.

Parameters
[out]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
[in]cfg: Click configuration structure. See powerstep2_cfg_t object definition for detailed explanation.
Returns
  • 0 - Success,
  • -1 - Error. See #err_t definition for detailed explanation.
Note
None.

◆ powerstep2_move()

err_t powerstep2_move ( powerstep2_t * ctx,
uint8_t dir,
uint32_t n_step )

Power Step 2 move motor function.

This function moves the motor a specified number of steps in a given direction.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
[in]dir: Direction of motor movement.
[in]n_step: Number of steps to move (22-bit value).
Returns
  • 0 - Success,
  • -1 - Error.

◆ powerstep2_release_sw()

err_t powerstep2_release_sw ( powerstep2_t * ctx,
uint8_t act,
uint8_t dir )

Power Step 2 release switch function.

This function moves the motor at minimum speed until the SW is released.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
[in]act: If 1, copies ABS_POS to MARK, else, reset ABS_POS.
[in]dir: Direction of movement.
Returns
  • 0 - Success,
  • -1 - Error.

◆ powerstep2_reset_device()

err_t powerstep2_reset_device ( powerstep2_t * ctx)

Power Step 2 reset device function.

This function resets the Power Step 2 device.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
Returns
  • 0 - Success,
  • -1 - Error.

◆ powerstep2_reset_pos()

err_t powerstep2_reset_pos ( powerstep2_t * ctx)

Power Step 2 reset position function.

This function resets the ABS_POS register to zero.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
Returns
  • 0 - Success,
  • -1 - Error.

◆ powerstep2_run()

err_t powerstep2_run ( powerstep2_t * ctx,
uint8_t dir,
uint32_t speed )

Power Step 2 run motor function.

This function runs the motor in a specified direction at a given speed.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
[in]dir: Direction of motor rotation.
[in]speed: Motor speed (20-bit value).
Returns
  • 0 - Success,
  • -1 - Error.

◆ powerstep2_set_acc_dec()

err_t powerstep2_set_acc_dec ( powerstep2_t * ctx,
float acc_step_s2,
float dec_step_s2 )

Power Step 2 set acceleration and deceleration function.

This function sets the acceleration and deceleration rates for motor movement.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
[in]acc_step_s2: Acceleration rate in steps per second squared.
[in]dec_step_s2: Deceleration rate in steps per second squared.
Returns
  • 0 - Success,
  • -1 - Error.

◆ powerstep2_set_control_mode()

err_t powerstep2_set_control_mode ( powerstep2_t * ctx,
uint8_t ctrl_mode )

Power Step 2 set control mode function.

This function sets the control mode of the device to either voltage mode or current mode.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
[in]ctrl_mode: Control mode.
  • 0 : Voltage mode.
  • 1 : Current mode.
Returns
  • 0 - Success,
  • -1 - Error.

◆ powerstep2_set_param()

err_t powerstep2_set_param ( powerstep2_t * ctx,
uint8_t param,
uint32_t data_in )

Power Step 2 set parameter function.

This function sets a specific parameter register of the Power Step 2 device.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
[in]param: Parameter register to set.
[in]data_in: Data to write to the parameter.
Returns
  • 0 - Success,
  • -1 - Error.

◆ powerstep2_set_rst_pin()

void powerstep2_set_rst_pin ( powerstep2_t * ctx,
uint8_t state )

Power Step 2 set rst pin function.

This function sets the RST pin logic state.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
[in]state:
  • 0 - Low logic state,
  • 1 - High logic state.
Returns
None.
Note
None.

◆ powerstep2_set_speed()

err_t powerstep2_set_speed ( powerstep2_t * ctx,
float min_speed,
float max_speed )

Power Step 2 set speed function.

This function sets the minimum and maximum speeds for motor movement.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
[in]min_speed: Minimum speed in steps per second.
[in]max_speed: Maximum speed in steps per second.
Returns
  • 0 - Success,
  • -1 - Error.

◆ powerstep2_set_step_mode()

err_t powerstep2_set_step_mode ( powerstep2_t * ctx,
uint8_t step_mode )

Power Step 2 set step mode function.

This function sets the step mode (microstepping level) of the Power Step 2 device.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
[in]step_mode: Step mode value (e.g., full-step, half-step, 1/4-step, etc.).
Returns
  • 0 - Success,
  • -1 - Error.

◆ powerstep2_set_step_pin()

void powerstep2_set_step_pin ( powerstep2_t * ctx,
uint8_t state )

Power Step 2 set step pin function.

This function sets the STEP clock pin logic state.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
[in]state:
  • 0 - Low logic state,
  • 1 - High logic state.
Returns
None.
Note
None.

◆ powerstep2_soft_hiz()

err_t powerstep2_soft_hiz ( powerstep2_t * ctx)

Power Step 2 soft HiZ function.

This function sets the device to high-impedance mode softly (without abrupt stops).

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
Returns
  • 0 - Success,
  • -1 - Error.

◆ powerstep2_soft_stop()

err_t powerstep2_soft_stop ( powerstep2_t * ctx)

Power Step 2 soft stop function.

This function stops the motor gently using a soft stop.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
Returns
  • 0 - Success,
  • -1 - Error.

◆ powerstep2_spi_transfer()

err_t powerstep2_spi_transfer ( powerstep2_t * ctx,
uint8_t * data_io,
uint8_t len )

Power Step 2 SPI transfer function.

This function performs an SPI transfer for the Power Step 2 device. It sends and receives data using the SPI interface.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
[in,out]data_io: Pointer to the data buffer for sending and receiving data.
[in]len: Length of the data buffer.
Returns
  • 0 - Success,
  • -1 - Error.
Note
The function waits for the busy pin to go low before each data transfer.

◆ powerstep2_step_clock()

err_t powerstep2_step_clock ( powerstep2_t * ctx,
uint8_t dir )

Power Step 2 step clock function.

This function puts the device in step-clock mode and sets the direction.

Parameters
[in]ctx: Click context object. See powerstep2_t object definition for detailed explanation.
[in]dir: Direction of the step.
Returns
  • 0 - Success,
  • -1 - Error.